Math.abs(5 - 8)
Math.abs(-1000 + 750)
Math.abs(80 - 90)

Math.pow(2, 20);
2 ** 20;
Math.pow(5, 6)
Math.pow(10, 6)

Math.floor(6.3);//6
Math.floor(6.8);//6
Math.floor(7.2);//7

Math.round(10.5);//11
Math.round(9.8);//10
Math.round(7.7);//8

Math.ceil(4.5);//5
Math.ceil(6.7);//7
Math.ceil(5.9);//6

// 可变参数
function min(...args) {
    // args; // [8, 5, 3, 4, 5, 6, 20, 10]
}

Math.min(8, 5, 3, 4, 5, 6, 20, 10);//3
Math.min(9, 12, 0, 6, 5, 2, 1);//0
Math.min(80, 30, 60, 25, 14);//14

Math.max(60, 12, 54, 69, 14, 50);//69
Math.max(8, 200, 52, 80, 32, 74);//200
Math.max(100, 60, 90, 30, 50, 40);//100


Math.max(-+'100', -'60', -parseInt('500'), Number('600') * -1, 500.1, (-100) ** 2);
// -100, -60, -500, -600, 500.1, 10000

Math.random(); // 0-1之间的随机小数，用在什么场景？抽奖，抽卡，抽英雄，

console.log(Math.fround(3.2))
Math.fround(4.5);
Math.fround(6.8);
const result = Math.fround(0.1 + 0.2) === Math.fround(0.3);
// 问：Math.fround 的用法及作用？如何解决小数相加精度比较问题？
// 1 为了解决精度问题
// 2 因为精度为问题，导致小数相加会出现偏差
// 3 Math.fround 会将这个偏差抹平

const a1 = new Date();
a1.setFullYear(2020);
a1.setMonth(12 - 1);
a1.setDate(21);
a1.setHours(-1);
a1.setMinutes(-1);
a1.setSeconds(-1);
// 2020 12 21 16 09 59

// Number 类的 静态函数
Number.parseInt('568');
Number.parseFloat('100.6');
Number.isNaN(NaN); // true
Number.isFinite( -1 / 0); // false

Number.isInteger(1.65);
Number.isSafeInteger(2564);

// 1. 时间戳: 1970 开始 到现在 微妙的总和
new Date(Date.now());
// 2. 特定格式的日期字符串
new Date('2020-06-20T17:10:59+12:00');
new Date('2020-06-20T17:10:59');
new Date('2020-06-20T09:10:59+08:00');
// 3. 可以传入其他Date对象
const date2 = new Date('2024-11-10T09:10:59');

const date3 = new Date(date2);
date3.setMonth(date3.getMonth() + 1);
// 4. 可不传，得到的就是当前时间
new Date();

// class Number {
//     static parseInt() {
//     }
// }
//
// Number.parseInt();

let str ='saber'
str.charAt(0);//s
str.charAt(1);//a
console.log(str.charAt(3))//e

console.log(str.charCodeAt(3))//101

console.log(str.indexOf('b'))//2

console.log(str.lastIndexOf('s'))//0

str.search(/b/g);//2

console.log(str.startsWith('sab'));

console.log(str.endsWith('ber'));

str.includes('be');

console.log(str.concat(' vs Assassin'));

console.log('558959549899262'.split('9'));

Str = '    what is fucking THIS'
let union = Str.indexOf('what')
let union1 = union + 'what is'.length;
console.log(Str.substring(union,union1));

str.match(/e/g)//['e', 'e', 'e']

console.log(Str.replace('fuck', 'do'))

Str.toLowerCase()//toLowerCase
Str.toUpperCase()

str.repeat(3);

Str.trim();